load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
    name = "go_default_library",
    srcs = ["application.go"],
    importpath = "kubevirt.io/kubevirt/pkg/virt-controller/watch",
    visibility = ["//visibility:public"],
    deps = [
        "//pkg/certificates/bootstrap:go_default_library",
        "//pkg/container-disk:go_default_library",
        "//pkg/controller:go_default_library",
        "//pkg/healthz:go_default_library",
        "//pkg/hooks:go_default_library",
        "//pkg/instancetype/controller/vm:go_default_library",
        "//pkg/monitoring/metrics/common/client:go_default_library",
        "//pkg/monitoring/metrics/virt-controller:go_default_library",
        "//pkg/monitoring/profiler:go_default_library",
        "//pkg/network/admitter:go_default_library",
        "//pkg/network/controllers:go_default_library",
        "//pkg/network/migration:go_default_library",
        "//pkg/network/netbinding:go_default_library",
        "//pkg/network/pod/annotations:go_default_library",
        "//pkg/service:go_default_library",
        "//pkg/storage/export/export:go_default_library",
        "//pkg/storage/pod/annotations:go_default_library",
        "//pkg/storage/snapshot:go_default_library",
        "//pkg/util:go_default_library",
        "//pkg/util/cluster:go_default_library",
        "//pkg/util/ratelimiter:go_default_library",
        "//pkg/util/tls:go_default_library",
        "//pkg/virt-config:go_default_library",
        "//pkg/virt-controller/leaderelectionconfig:go_default_library",
        "//pkg/virt-controller/services:go_default_library",
        "//pkg/virt-controller/watch/clone:go_default_library",
        "//pkg/virt-controller/watch/dra:go_default_library",
        "//pkg/virt-controller/watch/drain/disruptionbudget:go_default_library",
        "//pkg/virt-controller/watch/drain/evacuation:go_default_library",
        "//pkg/virt-controller/watch/migration:go_default_library",
        "//pkg/virt-controller/watch/node:go_default_library",
        "//pkg/virt-controller/watch/pool:go_default_library",
        "//pkg/virt-controller/watch/replicaset:go_default_library",
        "//pkg/virt-controller/watch/topology:go_default_library",
        "//pkg/virt-controller/watch/vm:go_default_library",
        "//pkg/virt-controller/watch/vmi:go_default_library",
        "//pkg/virt-controller/watch/workload-updater:go_default_library",
        "//staging/src/kubevirt.io/api/clone/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/core/v1:go_default_library",
        "//staging/src/kubevirt.io/api/export/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/pool/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/snapshot/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/client-go/kubecli:go_default_library",
        "//staging/src/kubevirt.io/client-go/log:go_default_library",
        "//staging/src/kubevirt.io/client-go/util:go_default_library",
        "//vendor/github.com/emicklei/go-restful/v3:go_default_library",
        "//vendor/github.com/kubernetes-csi/external-snapshotter/client/v4/apis/volumesnapshot/v1:go_default_library",
        "//vendor/github.com/prometheus/client_golang/prometheus/promhttp:go_default_library",
        "//vendor/github.com/spf13/pflag:go_default_library",
        "//vendor/k8s.io/api/core/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
        "//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
        "//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
        "//vendor/k8s.io/client-go/rest:go_default_library",
        "//vendor/k8s.io/client-go/tools/cache:go_default_library",
        "//vendor/k8s.io/client-go/tools/leaderelection:go_default_library",
        "//vendor/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
        "//vendor/k8s.io/client-go/tools/record:go_default_library",
        "//vendor/k8s.io/client-go/util/flowcontrol:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "application_test.go",
        "watch_suite_test.go",
    ],
    embed = [":go_default_library"],
    race = "on",
    deps = [
        "//pkg/controller:go_default_library",
        "//pkg/instancetype/controller/vm:go_default_library",
        "//pkg/monitoring/metrics/virt-controller:go_default_library",
        "//pkg/rest:go_default_library",
        "//pkg/storage/export/export:go_default_library",
        "//pkg/storage/snapshot:go_default_library",
        "//pkg/testutils:go_default_library",
        "//pkg/virt-config:go_default_library",
        "//pkg/virt-controller/services:go_default_library",
        "//pkg/virt-controller/watch/clone:go_default_library",
        "//pkg/virt-controller/watch/drain/disruptionbudget:go_default_library",
        "//pkg/virt-controller/watch/drain/evacuation:go_default_library",
        "//pkg/virt-controller/watch/migration:go_default_library",
        "//pkg/virt-controller/watch/node:go_default_library",
        "//pkg/virt-controller/watch/replicaset:go_default_library",
        "//pkg/virt-controller/watch/topology:go_default_library",
        "//pkg/virt-controller/watch/vm:go_default_library",
        "//pkg/virt-controller/watch/vmi:go_default_library",
        "//staging/src/kubevirt.io/api/clone/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/core/v1:go_default_library",
        "//staging/src/kubevirt.io/api/export/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/instancetype/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/api/migrations/v1alpha1:go_default_library",
        "//staging/src/kubevirt.io/api/snapshot/v1beta1:go_default_library",
        "//staging/src/kubevirt.io/client-go/kubecli:go_default_library",
        "//staging/src/kubevirt.io/client-go/testutils:go_default_library",
        "//vendor/github.com/emicklei/go-restful/v3:go_default_library",
        "//vendor/github.com/onsi/ginkgo/v2:go_default_library",
        "//vendor/github.com/onsi/gomega:go_default_library",
        "//vendor/go.uber.org/mock/gomock:go_default_library",
        "//vendor/k8s.io/api/apps/v1:go_default_library",
        "//vendor/k8s.io/api/core/v1:go_default_library",
        "//vendor/k8s.io/api/policy/v1:go_default_library",
        "//vendor/k8s.io/api/storage/v1:go_default_library",
        "//vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
        "//vendor/k8s.io/client-go/tools/cache:go_default_library",
        "//vendor/k8s.io/client-go/tools/record:go_default_library",
        "//vendor/kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1:go_default_library",
    ],
)
